[INFO] cloning repository https://github.com/santhoshselvan/advent-of-code
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/santhoshselvan/advent-of-code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanthoshselvan%2Fadvent-of-code", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanthoshselvan%2Fadvent-of-code'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ec51fa7d53859e06843275389e3226c30e44c3f1
[INFO] checking santhoshselvan/advent-of-code against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanthoshselvan%2Fadvent-of-code" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/santhoshselvan/advent-of-code on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/santhoshselvan/advent-of-code
[INFO] finished tweaking git repo https://github.com/santhoshselvan/advent-of-code
[INFO] tweaked toml for git repo https://github.com/santhoshselvan/advent-of-code written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/santhoshselvan/advent-of-code already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded plotlib v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8028d61bb25ae885d9e77b68c59a596c401f7b112d813e19df317f49fc84d018
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "8028d61bb25ae885d9e77b68c59a596c401f7b112d813e19df317f49fc84d018", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8028d61bb25ae885d9e77b68c59a596c401f7b112d813e19df317f49fc84d018", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8028d61bb25ae885d9e77b68c59a596c401f7b112d813e19df317f49fc84d018", kill_on_drop: false }`
[INFO] [stdout] 8028d61bb25ae885d9e77b68c59a596c401f7b112d813e19df317f49fc84d018
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a904d707c5824f7ff3864bfcb7688530bc2ca113c4f09f6e7fd933b42053492a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a904d707c5824f7ff3864bfcb7688530bc2ca113c4f09f6e7fd933b42053492a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling cc v1.0.48
[INFO] [stderr]     Checking piston-float v1.0.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling rayon-core v1.6.1
[INFO] [stderr]    Compiling failure_derive v0.1.6
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking piston-graphics_api_version v0.2.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking svg v0.5.12
[INFO] [stderr]     Checking queues v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling num-bigint v0.2.3
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking piston-viewport v1.0.0
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking crc32fast v1.2.0
[INFO] [stderr]     Checking log v0.4.8
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.32
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking png v0.15.2
[INFO] [stderr]     Checking libmath v0.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking backtrace v0.3.40
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking rayon v1.2.1
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking permutator v0.3.3
[INFO] [stderr]     Checking jpeg-decoder v0.1.18
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.103
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking image v0.22.3
[INFO] [stderr]     Checking failure v0.1.6
[INFO] [stderr]     Checking plotlib v0.4.0
[INFO] [stderr]     Checking pistoncore-input v0.28.0
[INFO] [stderr]     Checking pistoncore-window v0.44.0
[INFO] [stderr]     Checking pistoncore-event_loop v0.49.0
[INFO] [stderr]     Checking piston v0.49.0
[INFO] [stderr]     Checking advent-of-code v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: static is never used: `DEBUG_SHOW_INPUT_OUTPUT`
[INFO] [stdout]  --> src/intcode.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | static DEBUG_SHOW_INPUT_OUTPUT: bool = false;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `memory_string`
[INFO] [stdout]    --> src/intcode.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn memory_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/bin/day03.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     (manhattan_distance(&intersection, &line1.point1) +
[INFO] [stdout] 174 | |         manhattan_distance(&intersection, &line1.point2) ==
[INFO] [stdout] 175 | |         manhattan_distance(&line1.point1, &line1.point2))
[INFO] [stdout]     | |_________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 |     manhattan_distance(&intersection, &line1.point1) +
[INFO] [stdout] 174 |         manhattan_distance(&intersection, &line1.point2) ==
[INFO] [stdout] 175 |         manhattan_distance(&line1.point1, &line1.point2)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Lines`
[INFO] [stdout]  --> src/bin/day14.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Lines;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intcode::IntCode`
[INFO] [stdout]  --> src/bin/day14.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use intcode::IntCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/day14.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::exit`
[INFO] [stdout]  --> src/bin/day14.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::exit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::round::ceil`
[INFO] [stdout]  --> src/bin/day14.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use math::round::ceil;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `intcode`
[INFO] [stdout]    --> src/bin/day07.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |     use crate::{intcode, get_max_thruster_signal_with_one_round_of_amplification, get_max_thruster_signal_with_feedback_amplification};
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/day12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `permutator::Permutation`
[INFO] [stdout]  --> src/bin/day12.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use permutator::Permutation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/bin/day12.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day12.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `apply_gravity`, `apply_velocity`
[INFO] [stdout]    --> src/bin/day12.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |     use crate::{apply_gravity, Moon, apply_velocity, apply_gravity_and_velocity, get_energy, find_complete_revolution_time};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day03.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intersection`
[INFO] [stdout]    --> src/bin/day03.rs:222:31
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let (is_intersecting, intersection) =
[INFO] [stdout]     |                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intersection`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intersection`
[INFO] [stdout]    --> src/bin/day03.rs:230:31
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (is_intersecting, intersection) =
[INFO] [stdout]     |                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intersection`
[INFO] [stdout]    --> src/bin/day03.rs:238:31
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let (is_intersecting, intersection) =
[INFO] [stdout]     |                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/day02_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     'outer: for noun in 0..noun_and_verb_limit {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distance1`
[INFO] [stdout]    --> src/bin/day03.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let distance1 = distance_travelled_by_lines_to_reach_point(
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distance1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/day02_2.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         'inner: for verb in 0..noun_and_verb_limit {
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/day12.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `permutator::Permutation`
[INFO] [stdout]  --> src/bin/day12.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use permutator::Permutation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/bin/day12.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day12.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `success`
[INFO] [stdout]   --> src/bin/day02_2.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut success = false;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/day02_2.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut memory: Vec<String> = input.split(',').map(|s| s.to_string()).collect();
[INFO] [stdout]   |         ----^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `advent_of_code`
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod intcode;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^ consider adding a `main` function to `src/main.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02_2.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn get_noun_and_verb_required_for_expected_output(mut memory: Vec<String>, expected_output: String) -> (i32, i32) {
[INFO] [stdout]    |                                                   ----^^^^^^
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day02_2.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut success = false;
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/bin/day14.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     loop {
[INFO] [stdout] 116 | |         let ore_used = get_ore_requirement(String::from("FUEL"), mid, &reactions, &mut HashMap::new());
[INFO] [stdout] 117 | |         if ore_used < available_ore && visited_points.contains(&mid) {
[INFO] [stdout] 118 | |             return mid;
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |         }
[INFO] [stdout] 133 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 134 | 
[INFO] [stdout] 135 |       unreachable!()
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `immediate_output_mode`
[INFO] [stdout]    --> src/bin/day07.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     immediate_output_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_immediate_output_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day14.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/bin/day10.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day07.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut phase_settings = vec![5, 6, 7, 8, 9];
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day04.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut digits: Vec<u32> = num.to_string().chars().map(|d| d.to_digit(10).unwrap()).collect();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `*left_over` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/bin/day14.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let existing_leftover = left_over.get(chemical_name.as_str());
[INFO] [stdout]    |                             --------- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 82 |             left_over.insert(chemical_name, leftover_value - units_required);
[INFO] [stdout]    |             ^^^^^^^^^                       -------------- immutable borrow later used here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day07.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut phase_setting_fed: &mut bool,
[INFO] [stdout]     |     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TRACE`
[INFO] [stdout]   --> src/bin/day14.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | static TRACE: bool = true;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `produce_from_trillion_units_of_ore_alternate`
[INFO] [stdout]    --> src/bin/day14.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn produce_from_trillion_units_of_ore_alternate(reactions: &Vec<Reaction>) -> i64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day12.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_moon_position`
[INFO] [stdout]   --> src/bin/day12.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let initial_moon_position = moons.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_moon_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Lines`
[INFO] [stdout]  --> src/bin/day13.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Lines;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stdout`
[INFO] [stdout]  --> src/bin/day13.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{stdout, Write};
[INFO] [stdout]   |               ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/bin/day13.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImageView`, `GenericImage`, `RgbImage`
[INFO] [stdout]  --> src/bin/day13.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use image::{GenericImage, GenericImageView, ImageBuffer, RgbImage};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:152:14
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:163:14
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:174:14
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:185:14
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:192:14
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:196:14
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `codes`
[INFO] [stdout]    --> src/bin/day05.rs:207:14
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let (codes, output) = intcode(
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day12.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_moon_position`
[INFO] [stdout]   --> src/bin/day12.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let initial_moon_position = moons.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_moon_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `immediate_output_mode`
[INFO] [stdout]    --> src/bin/day07.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     immediate_output_mode: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_immediate_output_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent-of-code`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day07.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut phase_settings = vec![5, 6, 7, 8, 9];
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day07.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     mut phase_setting_fed: &mut bool,
[INFO] [stdout]     |     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day10.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     mut visible_asteroid_positions: &mut Vec<Point>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_max_thruster_signal_with_one_round_of_amplification`
[INFO] [stdout]   --> src/bin/day07.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_max_thruster_signal_with_one_round_of_amplification(input: &str) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `DEBUG`
[INFO] [stdout]  --> src/bin/day10.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | static DEBUG: bool = true;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `DEBUG_SHOW_INPUT_OUTPUT`
[INFO] [stdout]  --> src/intcode.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | static DEBUG_SHOW_INPUT_OUTPUT: bool = false;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `intcode_memory`
[INFO] [stdout]    --> src/intcode.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn intcode_memory(program: &str, input: Option<i64>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day13.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         for i in 0..3 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/day13.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for i in 0..3 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day13.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut img = ImageBuffer::from_fn(44 * 7, 25 * 7, |x, y| {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `draw_tiles`
[INFO] [stdout]   --> src/bin/day13.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn draw_tiles(contents: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/bin/day03.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     (manhattan_distance(&intersection, &line1.point1) +
[INFO] [stdout] 174 | |         manhattan_distance(&intersection, &line1.point2) ==
[INFO] [stdout] 175 | |         manhattan_distance(&line1.point1, &line1.point2))
[INFO] [stdout]     | |_________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 |     manhattan_distance(&intersection, &line1.point1) +
[INFO] [stdout] 174 |         manhattan_distance(&intersection, &line1.point2) ==
[INFO] [stdout] 175 |         manhattan_distance(&line1.point1, &line1.point2)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/bin/day10_alternate_solution.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/bin/day10_alternate_solution.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/bin/day10_alternate_solution.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::abs`
[INFO] [stdout]  --> src/bin/day10_alternate_solution.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num::abs;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::MAX`
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::f32::MAX;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ((x1 - x2).abs() + (y1 - y2).abs())
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_visible_asteroids`
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 152 |     use crate::{get_angle, get_asteroids, get_visible_asteroids, map_asteroid_positions, get_asteroid_monitor, destroy_visible_asteroids};
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::Lines`
[INFO] [stdout]  --> src/bin/day15.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::Lines;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stdout`
[INFO] [stdout]  --> src/bin/day15.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{stdout, Write};
[INFO] [stdout]   |               ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImageView`, `GenericImage`, `ImageBuffer`, `RgbImage`
[INFO] [stdout]  --> src/bin/day15.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use image::{GenericImage, GenericImageView, ImageBuffer, RgbImage};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/bin/day15.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day03.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `width`
[INFO] [stdout]   --> src/bin/day08.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     width: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `height`
[INFO] [stdout]   --> src/bin/day08.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     height: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/bin/day08.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             write!(f, "{}", x.to_string());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/bin/day15.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | /         return Some((maze_block.last_visited_from.unwrap(),
[INFO] [stdout] 224 | |                      get_opposition_direction(maze_block.last_visited_from_direction.unwrap()),
[INFO] [stdout] 225 | |                      true));
[INFO] [stdout]     | |___________________________- any code following this expression is unreachable
[INFO] [stdout] 226 |       }
[INFO] [stdout] 227 |       unreachable!()
[INFO] [stdout]     |       ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::real::Real`
[INFO] [stdout]  --> src/bin/day10_alternate_solution.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::real::Real;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         0.0 => 0,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(illegal_floating_point_literal_pattern)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         1.0 => 1,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         2.0 => 2,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 |         -1.0 => 3,
[INFO] [stdout]     |          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abc`
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 |     for (abc, group) in grouped.into_iter() {
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_abc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_asteroids`
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let (monitor_asteroid, mut visible_asteroids) =
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_asteroids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for (key, group) in grouped {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asteroid`
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:206:14
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let (asteroid, visible_asteroids) = get_asteroid_monitor(&asteroid_mapping);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asteroid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `monitor`
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let monitor = get_asteroid_monitor(&asteroid_mapping);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_monitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day15.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     mut maze: &mut HashMap<Position, MazeBlock>,
[INFO] [stdout]     |     ----^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/day15.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let mut current_position = current_position;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `position`
[INFO] [stdout]   --> src/bin/day15.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     position: Position,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/bin/day15.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     queue.add(start);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/bin/day15.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 queue.add(*neighbour);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:96:28
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let (monitor_asteroid, mut visible_asteroids) =
[INFO] [stdout]    |                            ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: floating-point types cannot be used in patterns
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         0.0 => 0,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #41620 <https://github.com/rust-lang/rust/issues/41620>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/bin/day10_alternate_solution.rs:107:26
[INFO] [stdout]     |
[INFO] [stdout] 107 |             .map(|x| (x, unsafe { get_clockwise_quadrant(&&x) }))
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `DEBUG`
[INFO] [stdout]   --> src/bin/day10_alternate_solution.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | static DEBUG: bool = true;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::intcode`
[INFO] [stdout]    --> src/intcode.rs:235:16
[INFO] [stdout]     |
[INFO] [stdout] 235 |     use crate::intcode::IntCode;
[INFO] [stdout]     |                ^^^^^^^ maybe a missing crate `intcode`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "a904d707c5824f7ff3864bfcb7688530bc2ca113c4f09f6e7fd933b42053492a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a904d707c5824f7ff3864bfcb7688530bc2ca113c4f09f6e7fd933b42053492a", kill_on_drop: false }`
[INFO] [stdout] a904d707c5824f7ff3864bfcb7688530bc2ca113c4f09f6e7fd933b42053492a
